//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
//
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
Copyright (c) 1995-1999  Microsoft Corporation

Module Name:

supsvc.h

Abstract:


Notes:


--*/

#pragma once


#define SUPSVC_CMDBUF_LENGTH        (MAX_PATH + MAXLENGTH_ADDRESS)
#define SUPSVC_ALLOC_NUMBER         16


//
// Information classes
//
const DWORD g_rgdwInfoClasses[] =
{
    RIL_INFOCLASS_VOICE,            // 1  = 2^0
    RIL_INFOCLASS_DATA,             // 2  = 2^1
    RIL_INFOCLASS_FAX,              // 4  = 2^2
    RIL_INFOCLASS_SMS,              // 8  = 2^3
    RIL_INFOCLASS_DATACIRCUITSYNC,  // 16 = 2^4
    RIL_INFOCLASS_DATACIRCUITASYNC, // 32 = 2^5
    RIL_INFOCLASS_PACKETACCESS,     // 32 = 2^6
    RIL_INFOCLASS_PADACCESS,        // 64 = 2^7
};
#define NUM_INFOCLASSES        (sizeof(g_rgdwInfoClasses) / sizeof(DWORD))

//
// CallerID, DialedID, Closed User Group status values
//
static const DWORD g_rgdwSupSvcStats[] =
{
    RIL_SVCSTAT_DISABLED,           // 0
    RIL_SVCSTAT_ENABLED,            // 1
};
#define NUM_SUPSVCSTATS     (sizeof(g_rgdwSupSvcStats) / sizeof(DWORD))

//
// HideID status values
//
static const DWORD g_rgdwHideIDStats[] =
{
    RIL_SVCSTAT_DEFAULT,            // 0
    RIL_SVCSTAT_ENABLED,            // 1
    RIL_SVCSTAT_DISABLED,           // 2
};
#define NUM_HIDEIDSTATS   (sizeof(g_rgdwHideIDStats) / sizeof(DWORD))

HRESULT RILDrv_GetCallerIdSettings(DWORD dwParam);
HRESULT RILDrv_SetCallerIdStatus(DWORD dwParam, DWORD dwStatus);
HRESULT RILDrv_GetHideIdSettings(DWORD dwParam);
HRESULT RILDrv_SetHideIdStatus(DWORD dwParam, DWORD dwStatus);
HRESULT RILDrv_GetDialedIdSettings(DWORD dwParam);
HRESULT RILDrv_SetDialedIdStatus(DWORD dwParam, DWORD dwStatus);
HRESULT RILDrv_GetClosedGroupSettings(DWORD dwParam);
HRESULT RILDrv_SetClosedGroupSettings(DWORD dwParam, const RILCLOSEDGROUPSETTINGS* lpSettings);
HRESULT RILDrv_GetCallForwardingSettings(DWORD dwParam, DWORD dwReason, DWORD dwInfoClasses);
HRESULT RILDrv_AddCallForwarding(DWORD dwParam, DWORD dwReason, const RILCALLFORWARDINGSETTINGS* lpSettings);
HRESULT RILDrv_RemoveCallForwarding(DWORD dwParam, DWORD dwReason, DWORD dwInfoClasses);
HRESULT RILDrv_SetCallForwardingStatus(DWORD dwParam, DWORD dwReason, DWORD dwInfoClasses, DWORD dwStatus);
HRESULT RILDrv_GetCallWaitingSettings(DWORD dwParam, DWORD dwInfoClasses);
HRESULT RILDrv_SetCallWaitingStatus(DWORD dwParam, DWORD dwInfoClasses, DWORD dwStatus);
HRESULT RILDrv_SendSupServiceData(DWORD dwParam, const BYTE* lpbData, DWORD dwSize);
HRESULT RILDrv_CancelSupServiceDataSession(DWORD dwParam);
HRESULT RILDrv_GetHideConnectedIdSettings(DWORD dwParam) ;
HRESULT RILDrv_SetHideConnectedIdStatus(DWORD, DWORD);

extern BOOL g_bUSSDSetup;

